package com.sunyur.tailor.channel.service.inner.expense.param;


import lombok.Data;

import java.io.Serializable;
import java.util.List;


/**
 * @Author pengbing
 * @Description 批量新增或修改费用类型入参实体类
 * @Date 14:00 2021/7/28
 * @Param
 * @return
 **/
@Data
public class ExpenseTypeListParam implements Serializable {
     /**
      *费用类型集合，最大20，每个记录的层级需要保持一致
      */
     private List<ExpenseTypeParam>  expenseTypes;

     @Data
     public static class ExpenseTypeParam implements Serializable {
          /**
           *外部费用类型唯一code，用于判断费用类型重复的唯一编号，如果该code不存在则新增费用类型，反之则更新费用类型。不可变化。必填，唯一
           */
          private String outSideCode;
          /**
           *费用类型名称，新建时必填，更新时如果为空则不会更新
           */
          private String name;
          /**
           *费用类型备注，更新时如果为空则不会更新
           */
          private String remark;
          /**
           *费用类型父级
           *
           * -传递且此code存在记录，不存在则报错
           *
           * --记录对应的level>=3则报错
           *
           * --记录对应的level<3则进行level+1
           *
           * -未传递则level必须传递1
           *
           * 更新时传递此参数无效
           */
          private String parentOutSideCode;
     }
}
